When using a printer from a computer, a user typically must install and use a device driver designed and developed specifically for the printer model in use. While this, in and of itself, may not be a issue when using a single printer, it does present challenges to large enterprises and organizations where there are several printers and/or many different types and models of printers. The challenges presented include getting model-specific device drivers to end users' computers and, perhaps more importantly, the costs and effort associated with testing, qualifying, and maintaining current versions of device drivers for all supported printer models.
Providing a single or small set of device drivers that can support a multitude of different devices in an organization is a very attractive option from a ‘driver management’ perspective, but the tradeoff has been the inability to support model-specific functionality from that single or small set of device drivers. Many printer models contain advanced paper handling (e.g., stapling, folding, duplexing) and other print-job related functionality (e.g., device specific color processing, collated copies), and to date there has not been a viable option for providing access to those advanced features from a single device driver. In other words, the tradeoff for having a single device driver comes in the form of significantly reduced access to the features and functionality supported on the various printer models. Accordingly, it is desirable to provide a single device driver that overcomes these challenges.